#ifndef __STORMWIDGET_STORMWIDGET_UILIBRARY_CANIMJOBUI_ANIMJOBUI_H
#define __STORMWIDGET_STORMWIDGET_UILIBRARY_CANIMJOBUI_ANIMJOBUI_H
//#pragma once

/////////////////////////////////////////////////////////////////////////////////////
//

typedef enum
{
	UIANIMTYPE_FLAT,
	UIANIMTYPE_SWIPE,
} UITYPE_ANIM;


/////////////////////////////////////////////////////////////////////////////////////
//


class CAnimJobUI
{
public:
	//CAnimJobUI();
	CAnimJobUI(const CAnimJobUI& src);
	CAnimJobUI(UITYPE_ANIM AnimType,DWORD dwStartTick,DWORD dwDuration,COLORREF clrBack,COLORREF clrKey,RECT rcFrom,
		int xtrans,int ytrans,int ztrans,int alpha,float zrot);
	virtual ~CAnimJobUI(void);
	//void Attach(const CAnimJobUI& src);
	typedef enum
	{
		INTERPOLATE_LINEAR,
		INTERPOLATE_COS,
	}INTERPOLATETYPE;

	typedef struct PLOTMATRIX
	{
		int xtrans;
		int ytrans;
		int ztrans;
		int alpha;
		float zrot;
	} PLOTMATRIX;

	UITYPE_ANIM AnimType;
	DWORD dwStartTick;
	DWORD dwDuration;
	int iBufferStart;
	int iBufferEnd;

	union
	{
		struct 
		{
			COLORREF clrBack;
			COLORREF clrKey;
			RECT rcFrom;
			PLOTMATRIX mFrom;
			INTERPOLATETYPE iInterpolate;
		} plot;
	} data;
};
#endif //__STORMWIDGET_STORMWIDGET_UILIBRARY_CANIMJOBUI_ANIMJOBUI_H